package com.jxd.petMgr.dao;

import com.jxd.petMgr.model.Account;
import com.jxd.petMgr.util.PageUtil;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;

/**
 * @author lzh
 * @version 1.0
 * @Description
 * @date 2021/11/3
 */
public interface IAccountDao {

    /**
     * 插入账户对象，返回是否插入成功
     * @param account 账户对象
     * @return 是否插入成功
     */
    boolean insertAccount(Account account, Connection conn, PreparedStatement pstm) throws SQLException;


    /**
     * 获取所有交易记录中出现过的宠物id
     * @return 所有交易记录
     */
    List<Integer> getAllPetInAccount();

    /**
     * 根据卖家id获取账单
     * @param seller_id 卖家id
     * @return 账单集合
     */
    List<Account> getAccountBySeller_id(int seller_id);

    /**
     * 根据买家家id获取账单
     * @param buyer_id 买家id
     * @return 账单集合
     */
    List<Account> getAccountByBuyer_id(int buyer_id);

    /**
     * 根据买家id获得账单数目
     * @param id 买家id
     * @return 账单数目
     */
    int getAccountByPetOwnerIDCount(int id);

    /**
     * 根据买家家id获取账单
     * @param id 买家id
     * @return 账单集合
     */
    List<Account> getAccountByPetOwnerID(PageUtil pageUtil, int id);

}
